import axios from 'axios'
import { MessageBox, Message } from 'element-ui'
import {getToken,removeToken} from "./auth";
// 创建axios 请求
const service = axios.create({
  // baseURL: 'http://172.18.0.197:8072', //本机 
  baseURL: 'http://localhost:8080/',
  // baseURL: 'http://172.18.0.160:8072',
  withCredentials: true, // 是否跨域
  timeout: 12000, // 请求超时时间,
})

// 请求
service.interceptors.request.use(
  config => {
    const that = this;
    // if (config.url !== '/fliggy/system/user/login') {            
    //   // config.headers.x-token = localStorage.getItem("token");
    //   config.headers.common['x-token'] = localStorage.getItem("token");
    //   config.headers.common['Content-Type'] = 'application/json';
    //   const startTime = localStorage.getItem('startTime');
    //   const nowTime = new Date().getTime();
    //   if((nowTime-startTime)/1000/60/60>6){
    //     MessageBox.confirm('您已登录过期，您可以取消留在此页面，或重新登录', '登录过期提醒', {
    //       confirmButtonText: '登录',
    //       cancelButtonText: '取消',
    //       type: 'warning'
    //     }).then(() => {
    //       location.reload()
    //       localStorage.clear();
    //       this.$router.push('/login');
    //     })
    //   }
    // }
    return config
  }, error => {
    return Promise.reject(error)
  }
   
)

// 响应
service.interceptors.response.use(

  response => {
    const res = response.data

    // 如果状态码不为200 请求失败
    // if ((res.code !== 200)) {
    //   Message({
    //     message: res.message || 'Error',
    //     type: 'error',
    //     duration: 5 * 1000
    //   })
    // }

    //   // 401: token认证失败; 50012: 其他已登录的客户端; 50014: Token 过期;
    //   if (res.code === 401 || res.code === 50012 || res.code === 50014) {
    //     // 重新登录
    //     MessageBox.confirm('您已经登出，您可以取消留在此页面，或重新登录', 'Confirm logout', {
    //       confirmButtonText: '重新的登录',
    //       cancelButtonText: '取消',
    //       type: 'warning'
    //     }).then(() => {
    //       location.reload()
    //       localStorage.clear();
    //       this.$router.push('/login');

    //     })
    //   }
    //   return Promise.reject(new Error(res.message || 'Error'))
    // } else {
      return res
    // }
  },
  error => {

    Message({
      message: error.message,
      type: 'error',
      duration: 12 * 1000
    })
    return Promise.reject(error)
  }
)

export default service
